package com.zhangzhan.blog_service.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.zhangzhan.base.common_model.result.ResponseResult;
import com.zhangzhan.blog_model.entity.Article;
import com.zhangzhan.blog_model.vos.ArticleDetailVo;
import com.zhangzhan.blog_model.vos.HotArticleVo;
import com.zhangzhan.blog_model.vos.PageVo;

import java.util.List;

/**
 * <p>
 * 文章表 服务类
 * </p>
 *
 * @author zhangzhan
 * @since 2024-01-30
 */
public interface ArticleService extends IService<Article> {

    /**
     * @description 查询热文章
     * @return com.zhangzhan.blog_base.model.ResponseResult<java.util.List<com.zhangzhan.admin_model.entity.Article>>
     * @author zhangyiheng
     * @date 2024/1/30 21:46
     */
    ResponseResult<List<HotArticleVo>> hotArticleList();

    /**
     * @description 分页查询文章列表
     * @param pageNum
     * @param pageSize
     * @param categoryId
     * @return com.zhangzhan.blog_base.model.ResponseResult<java.util.List<com.zhangzhan.admin_model.vos.PageVo>>
     * @author zhangyiheng
     * @date 2024/1/31 22:37
     */
    ResponseResult<List<PageVo>> articleList(Long pageNum, Long pageSize, Long categoryId);

    /**
     * @description 文章详情接口
     * @param id
     * @return com.zhangzhan.blog_base.model.ResponseResult<com.zhangzhan.admin_model.vos.ArticleDetailVo>
     * @author zhangyiheng
     * @date 2024/2/1 22:35
     */
    ResponseResult<ArticleDetailVo> articleDetail(Long id);
}
